package jamirr;

public abstract class AbstractBeanMirrorAndReference<B> extends AbstractBeanMirror<B> implements BeanReference<B> {

    protected AbstractBeanMirrorAndReference(Class<B> beanType,
                                             AnnotationMirror[] declaredAnnotations,
                                             ConstructorRef[] constructorRefs,
                                             PropertyRef<Object>[] propertyRefs,
                                             MethodRef<Object>[] methodRefs) {
        super(beanType, declaredAnnotations, constructorRefs, propertyRefs, methodRefs);
    }

    @Override
    public boolean isPresent() {
        return true;
    }

    @Override
    public BeanMirror<B> load() {
        return this;
    }

    @Override
    public String getName() {
        return getBeanType().getName();
    }
}
